package classes;


import java.util.SortedSet;
import java.util.TreeSet;

public class Calendari {
	
	private SortedSet <Any> llistaAnys;
		
	public Calendari() {
		super();
		
		this.llistaAnys = new TreeSet<Any>();
	}
	public Calendari(int any, int mes) {
		super();
		
		this.llistaAnys = new TreeSet<Any>();
		Any auxAny = new Any(any);
		auxAny.afegirMes(new Mes(mes));
		llistaAnys.add(auxAny);
	}

	public SortedSet <Any> getLlistaAnys() {
		return llistaAnys;
	}
	
	public Any getAny(Any compararAny) {

		
		Any auxAny=null;
		
		for (Any any : llistaAnys){
			if (any.equals(compararAny)){
				auxAny= any;
				break;
			}
		}
		
		return auxAny;
		
	}
	
	public void afegirAny(Any any){
		llistaAnys.add(any);
	}

	@Override
	public String toString() {
		String auxString="";
		
		for (Any any : llistaAnys){
			
			auxString+="Any : " + any.getNumAny() + "\n";
			auxString+= any.toString();
		}
		
		
		return auxString;
	}

	
	public Any getAny(int anyAcomparar){
		Any auxAny=null;
		
		for (Any any : llistaAnys){
			if (any.getNumAny()==anyAcomparar){
				auxAny=any;
				break;
			}
		}
		
		return auxAny;
	}
	public void merge(Calendari cal) {
		boolean trobat=false;
		
		for (Any auxAnyAfegir : cal.llistaAnys){
				
			for (Any auxAny : this.llistaAnys){
			
				if (auxAny.equals(auxAnyAfegir)){
					auxAny.merge(auxAnyAfegir);
					trobat=true;
				}
			}
			if (!trobat){
				this.afegirAny(auxAnyAfegir);
			}
		}
		
		
	}
	
}
